# Contributor: Michał Polański <michal@polanski.me>
# Maintainer: Michał Polański <michal@polanski.me>
pkgname=black
pkgver=23.12.1
pkgrel=0
pkgdesc="The uncompromising Python code formatter"
url="https://github.com/psf/black"
license="MIT"
arch="noarch"
depends="python3 py3-click py3-mypy-extensions py3-packaging py3-pathspec py3-platformdirs py3-typed-ast"
makedepends="bash py3-gpep517 py3-hatchling py3-hatch-vcs py3-wheel"
checkdepends="py3-pytest py3-parameterized py3-aiohttp"
subpackages="
	$pkgname-pyc
	$pkgname-bash-completion
	$pkgname-fish-completion
	$pkgname-zsh-completion
	"
source="https://files.pythonhosted.org/packages/source/b/black/black-$pkgver.tar.gz
	remove-fancy-pypi-readme.patch
	"

build() {
	gpep517 build-wheel \
		--wheel-dir .dist \
		--output-fd 3 3>&1 >&2

	python3 -m venv --clear --without-pip --system-site-packages venv
	./venv/bin/python3 -m installer \
		.dist/black-$pkgver-py3-none-any.whl

	for cmd in black blackd; do
		_BLACK_COMPLETE=bash_source ./venv/bin/black > $cmd.bash
		_BLACK_COMPLETE=fish_source ./venv/bin/black > $cmd.fish
		_BLACK_COMPLETE=zsh_source ./venv/bin/black > $cmd.zsh
	done
}

check() {
	ulimit -n 2048 # prevent running out of file descriptors
	./venv/bin/python3 -m pytest
}

package() {
	python3 -m installer -d "$pkgdir" \
		.dist/black-$pkgver-py3-none-any.whl

	for cmd in black blackd; do
		install -Dm644 $cmd.bash "$pkgdir"/usr/share/bash-completion/completions/$cmd
		install -Dm644 $cmd.fish "$pkgdir"/usr/share/fish/vendor_completions.d/$cmd.fish
		install -Dm644 $cmd.zsh "$pkgdir"/usr/share/zsh/site-functions/_$cmd
	done
}

sha512sums="
1a90eadbb7ccf1dd6c4c7d858b3360b7c62c04bf1826dd4817ddb8d542c3155fc72a80d53aa3be34375bd7006ab65432e006572bc5d1eeb6ff23cfa460072e93  black-23.12.1.tar.gz
3ccba63a17589e5f127ee325531022256665a26657ba59d1c505aac6cb89443f147af28d74f77e9b42dbe236b2f0fcdd744fa75b6cd1a8a37a767da6fe6d5694  remove-fancy-pypi-readme.patch
"
